'use strict';

const Conroller = require('egg').Controller;

/**
 * @Controller 考试管理
 */
class ExamController extends Conroller {
    /**
     * @jwt
     * @summary 考试类型列表
     * @description 返回所有的考试类型
     * @router get /exams/types
     * @response 200 BaseResponse 请求成功
     */
    async types() {
        // 读取数据
        const res = await this.service.exam.readTypeList();
        console.log('res', res);
        // 返回响应
        this.ctx.helper.send(200, res);
    }

    /**
     * @jwt
     * @summary 添加试卷
     * @description 根据参数自动创建一个试卷
     * @router post /exams
     * @response 201 BaseResponse 请求成功
     */
    async create() {
        // 校验参数
        this.ctx.validate(this.ctx.rule.CreateExamRequest);
        // 保存数据库
        await this.service.exam.add(this.ctx.request.body);
        // 返回响应
        this.ctx.helper.send(201, null, '添加成功');
    }
}

module.exports = ExamController;
